﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//------------------------------------------------------------
// shaco Framework
// Copyright © 2017-2021 chang.liu All rights reserved.
// Feedback: 449612236@qq.com
//------------------------------------------------------------

namespace shaco
{
    /// <summary>
    /// UI的显示深度变化
    /// </summary>
    public interface IUIDepthChange : shaco.Base.IGameInstance
    {
        /// <summary>
        /// 修改ui显示在最顶部
        /// <param name="uiRoot">ui根结点</param>
        /// <param name="state">ui状态信息</param>
        /// </summary>
        void ChangeDepthAsTopDisplay(IUIRootComponent uiRoot, IUIState state);

        /// <summary>
        /// 获取最顶部的ui
        /// <param name="uiRoot">ui根结点</param>
        /// <param name="conditionCallBack">自定义判断逻辑，可以为空</param>
        /// </summary>
        IUIState GetTopUI(IUIRootComponent uiRoot, System.Func<IUIState, bool> conditionCallBack = null);
    }
}